Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[CODE] CD Controler


Rekomendowane odpowiedzi

Opublikowano

Witam!

 

Postanowiłem wrzucić mój pierwszy program napisany w AutoIT.

Ma on tylko jedną prostą funkcję - otwiera lub zamyka naszą stacje dysków CD/DVD.

 

 

 

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;~ Pierwszy program by BartekPob(kazikp)  Specjalnie dla MPC Forum
$Form1 = GUICreate("CD Controler", 394, 222, 335, 294)
$Button1 = GUICtrlCreateButton("OPEN", 16, 144, 145, 49)
$Button2 = GUICtrlCreateButton("CLOSE", 232, 144, 145, 49)
$Label1 = GUICtrlCreateLabel("CD Controler ", 232, 8, 138, 28)
GUICtrlSetFont(-1, 15, 800, 0, "Tahoma")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor (-1, 2)
$Label2 = GUICtrlCreateLabel("By BartekPob", 312, 32, 85, 25)
$Label3 = GUICtrlCreateLabel("Stacja dysków którą chcesz otworzyć:", 8, 70, 80, 50)
$Combo1 = GUICtrlCreateCombo("wybierz", 88, 88, 209, 21, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "A:\|B:\|C:\|D:\|E:\|F:\|G:\|H:\|I:\|J:\|K:\|L:\|M:\|N:\|P:\|R:\|S:\|T:\|U:\|W:\|Y:\|Z:\")
GUISetState(@SW_SHOW)
For $i = 100 to 240
WinSetTrans("CD Controler","",$i)
Sleep(2)
Next
;~ Pierwszy program by BartekPob(kazikp)  Specjalnie dla MPC Forum
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
 Case $Button1
   $1=GuiCtrlRead($Combo1)
   Sleep(1000)
CDTray($1, "open")
  Case $Button2
   $1=GuiCtrlRead($Combo1)
Sleep(1000)
CDTray($1, "close")
EndSwitch
WEnd
;~ Pierwszy program by BartekPob(kazikp)  Specjalnie dla MPC Forum

 

 

Wiem że jet to banalne, ale to dopiero pierwszy program napisany przeze mnie ...

Opublikowano

ogólnie fajne zamiast pola dodałem ci wybór napędu odrazu po dodaniu tego

 

#include <ComboConstants.au3> ;trzeba dodać tego include
$Combo1 = GUICtrlCreateCombo("napęd", 88, 88, 209, 21, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ;tworzy liste rozwijaną z przewijaniem
GUICtrlSetData(-1, "G:\|E:\|F:\|A:\") ;wprowadza do listy te elementy

i pozmieniałem nazwe zmiennych
$1=GuiCtrlRead($Combo1) zamiast $1=GuiCtrlRead($input1) .

 

Cały kod

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;~ Pierwszy program by BartekPob(kazikp)  Specjalnie dla MPC Forum
$Form1 = GUICreate("CD Controler", 394, 222, 335, 294)
$Button1 = GUICtrlCreateButton("OPEN", 16, 144, 145, 49)
$Button2 = GUICtrlCreateButton("CLOSE", 232, 144, 145, 49)
$Label1 = GUICtrlCreateLabel("CD Controler ", 232, 8, 138, 28)
GUICtrlSetFont(-1, 15, 800, 0, "Tahoma")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor (-1, 2)
$Label2 = GUICtrlCreateLabel("By BartekPob", 312, 32, 85, 25)
$Label3 = GUICtrlCreateLabel("Stacja dysków którą chcesz otworzyć:", 8, 70, 80, 50)
$np = GUICtrlCreateLabel("pamiętaj o dodaniu dwukropka", 240, 112, 160, 17)
$Combo1 = GUICtrlCreateCombo("napęd", 88, 88, 209, 21, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "G:\|E:\|F:\|A:\")
GUISetState(@SW_SHOW)
For $i = 100 to 240
WinSetTrans("CD Controler","",$i)
Sleep(2)
Next
;~ Pierwszy program by BartekPob(kazikp)  Specjalnie dla MPC Forum
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
 Case $GUI_EVENT_CLOSE
  Exit
 Case $Button1
   $1=GuiCtrlRead($Combo1)
   Sleep(1000)
CDTray($1, "open")
  Case $Button2
   $1=GuiCtrlRead($Combo1)
Sleep(1000)
CDTray($1, "close")
EndSwitch
WEnd
;~ Pierwszy program by BartekPob(kazikp)  Specjalnie dla MPC Forum

Opublikowano

Ok wiem ju jak to działa.

Ogarnąłem wyświetlanie wszystkich CDROM'ów w MsgBoxie ale nie wiem teraz jak sformułować kod aby dyski były wyświetlane w Combo Menu nad przyciskami...

Local $aArray = DriveGetDrive("CDROM")
If @error Then
   ; An error occurred when retrieving the drives.
   MsgBox(4096, "DriveGetDrive", "It appears an error occurred.")
Else
   For $i = 1 To $aArray[0]
    ; Show all the drives found and convert the drive letter to uppercase.
    MsgBox(4096, "DriveGetDrive", "Drive " & $i & "/" & $aArray[0] & ":" & @CRLF & StringUpper($aArray[$i]))
   Next
EndIf

 

Co w tym kodzie odpowiada za podawanie aktywnych CDROM'ów ?

Opublikowano

Chyba nie do końca zrozumiałem o co chodzi. :

 

Local $Array = DriveGetDrive("CDROM")
$Combo1 = GUICtrlCreateCombo("wybierz", 88, 88, 209, 21, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, 1))
GUICtrlSetData(-1, $arrays &= "|" & $array[$i])

 

Error:

C:\Users\Bartek\Desktop\CD Controler.au3(21,28) : ERROR: syntax error
GUICtrlSetData(-1, $arrays &=
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Bartek\Desktop\CD Controler.au3(21,46) : WARNING: $i: possibly used before declaration.
GUICtrlSetData(-1, $arrays &= "|" & $array[$i]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Bartek\Desktop\CD Controler.au3 - 1 error(s), 1 warning(s)

Opublikowano

Zrobiłem tak ale nadal wywala błąd:

Local $Array = DriveGetDrive("CDROM")
$Combo1 = GUICtrlCreateCombo("wybierz", 88, 88, 209, 21, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
for $i = 0 to ubound($Array)-1
GUICtrlSetData(-1, $arrays &= "|" & $array[$i])
Next

 

C:\Users\Bartek\Desktop\BackUp\CD Controler_old1.au3(22,28) : ERROR: syntax error
GUICtrlSetData(-1, $arrays &=
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
C:\Users\Bartek\Desktop\BackUp\CD Controler_old1.au3 - 1 error(s), 0 warning(s)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...